package com.zbkj.crmeb.store.service;

import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.store.request.StoreProductSearchRequest;
import com.zbkj.crmeb.store.response.StoreProductResponse;

import java.util.Map;

public interface StoreProductSelectionService {

    /**
     * @Description: 获取库存深度/昨日热销/近30天热销商品数据
     * @param request
     * @param pageParamRequest
     * @param merId
     * @Return: com.github.pagehelper.PageInfo<com.zbkj.crmeb.store.response.StoreProductResponse>
     * @Author: wangzh
     * @Date: 2022/10/28 10:43
     */
    PageInfo<StoreProductResponse> getMerchnatList(StoreProductSearchRequest request, PageParamRequest pageParamRequest, Integer merId);

    /**
     * @Description: 获取banner跳转详情页
     * @param bannerId
     * @param pageParamRequest
     * @Return: java.util.Map<java.lang.String,java.lang.Object>
     * @Author: wangzh
     * @Date: 2022/10/28 11:32
     */
    Map<String, Object> getBannerDetails(Integer bannerId, PageParamRequest pageParamRequest, Integer merId);

    /**
     * @Description: 获取模块跳转详情页
     * @param moduleId
     * @param pageParamRequest
     * @Return: java.util.Map<java.lang.String,java.lang.Object>
     * @Author: wangzh
     * @Date: 2022/10/28 18:33
     */
    Map<String, Object> getModuleDetails(Integer moduleId, PageParamRequest pageParamRequest);

    /**
     * 功能描述: 商品详情
     * @Param: [productId, merId]
     * @Return: java.util.Map<java.lang.String,java.lang.Object>
     * @Author: wangzh
     * @Date: 2022/10/31 10:31
     */
    Map<String, Object> getProductInfo(Integer productId, Integer merId);

    /**
     * 功能描述: 上架商品
     * @Param: [token, productId]
     * @Return: java.lang.Boolean
     * @Author: wangzh
     * @Date: 2022/10/31 10:00
     */
    Boolean putOnShelves(String token, Integer productId);

    /**
     * 功能描述: 为你推荐
     * @Param: []
     * @Return: java.util.List<com.zbkj.crmeb.store.response.StoreProductResponse>
     * @Author: wangzh
     * @Date: 2022/10/31 16:14
     * @return
     */
    PageInfo<StoreProductResponse> recommendToYou(PageParamRequest request, Integer merId);
}
